{ "cells": [ { "cell_type": "markdown", "id": "ff8071ef", "metadata": {}, "source": [ "# Start Here - Twin Paradox tutorial\n", "\n", "To show what SpacetimeLib can do, let's look at a well-known thought experiment called the [twin paradox](https://en.wikipedia.org/wiki/Twin_paradox).\n", "\n", "Alice and Bob are twins living on Earth. Alice gets on a spaceship, travels 10 light years away from Earth, and then comes right back. Her ship can travel extremely fast, but not as fast as light. From Bob's perspective, each leg of Alice's trip takes 10.1 years, and when Alice arrives back home, Bob has aged 20.2 years. How much time does the trip take from Alice's perspective?\n", "\n", "If you haven't learned about special relativity and [time dilation](https://en.wikipedia.org/wiki/Time_dilation) before, you may be tempted to say that the trip takes 20.2 years from Alice's perspective as well, because time passes at the same rate for everyone. However, special relativity teaches us that time actually passes at different rates for two people traveling at different velocities. Let's get more into it." ] }, { "cell_type": "code", "execution_count": 1, "id": "a2cba9e4", "metadata": {}, "outputs": [], "source": [ "import spacetimelib as st" ] }, { "cell_type": "markdown", "id": "a8d3dfa3", "metadata": {}, "source": [ "## Creating worldlines\n", "\n", "SpacetimeLib has an object called `spacetimelib.Worldline` to represent the [worldline](https://en.wikipedia.org/wiki/World_line) (a trajectory through spacetime) of a particle. We give it a list of events that a particle travels through, and SpacetimeLib will draw straight lines through those points to create a trajectory.\n", "\n", "An event is just a point in spacetime, so it contains a time and a spatial position.\n", "\n", "Alice and Bob both start at the same event `(t=0, x=0)`. Halfway through her trip, Alice is at the event `(t=10.1, x=10)`. Then at the end of her trip, both Alice and Bob are at the event `(t=20.2, x=0)`. Let's create the worldlines for Alice and Bob." ] }, { "cell_type": "code", "execution_count": 2, "id": "005eac66", "metadata": {}, "outputs": [], "source": [ "alice_0 = st.Worldline([\n", " # (t, x)\n", " (0, 0),\n", " (10.1, 10),\n", " (20.2, 0)\n", "])\n", "\n", "bob_0 = st.Worldline([\n", " (0, 0),\n", " (20.2, 0)\n", "])" ] }, { "cell_type": "markdown", "id": "3e165769", "metadata": {}, "source": [ "I put `_0` on these variable names to keep track of which reference frame we used for the coordinates of the worldlines. `_0` will refer to Bob's reference frame." ] }, { "cell_type": "markdown", "id": "a21d70ff", "metadata": {}, "source": [ "## Proper time along worldlines\n", "\n", "Finding the answer to the question, \"How much time does the trip take from Alice's perspective?\", is easy. We can just call `Worldline.proper_time_delta()` to find the [proper time](https://en.wikipedia.org/wiki/Proper_time) along a worldline between two time coordinates.\n", "\n", "Let's first find Bob's proper time over the course of Alice's journey." ] }, { "cell_type": "code", "execution_count": 3, "id": "7dbca709", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "20.2" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bob_0.proper_time_delta(0, 20.2)" ] }, { "cell_type": "markdown", "id": "9ac3b263", "metadata": {}, "source": [ "Exactly as we expected, the trip takes 20.2 years from Bob's perspective. What about Alice's proper time?" ] }, { "cell_type": "code", "execution_count": 4, "id": "72667fa1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.8354893757515587" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "alice_0.proper_time_delta(0, 20.2)" ] }, { "cell_type": "markdown", "id": "ebe8d8fe", "metadata": {}, "source": [ "From Alice's perspective, her trip only takes 2.84 years. This means that when Alice arrives back home, she will have aged only 2.84 years, while Bob will have aged 20.2 years. Bob will be more than 17 years older than Alice, even though they both started out at the same age before Alice went on her trip.\n", "\n", "This time dilation effect becomes even greater if Alice has a faster spaceship. For instance, what if she could complete each 10 lightyear leg in 10.00001 years from Bob's perspective?" ] }, { "cell_type": "code", "execution_count": 5, "id": "9d667156", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.02828427831811963" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w = st.Worldline([\n", " (0, 0),\n", " (10.00001, 10),\n", " (20.00002, 20)\n", "])\n", "years = w.proper_time_delta(0, 20.00002)\n", "years" ] }, { "cell_type": "code", "execution_count": 6, "id": "9f3ab918", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "10.323761586113665" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "days = 365 * years\n", "days" ] }, { "cell_type": "markdown", "id": "9cf6cd7d", "metadata": {}, "source": [ "Traveling at this faster speed, Alice only experiences 10.32 days, while Bob experiences slightly more than 20 years.\n", "\n", "Imagine this: Right before Alice starts her journey, Alice and Bob celebrate their 18th birthday, and they also welcome Bob's newborn daughter into the world. When Alice arrives back home after her trip, it is her niece's 20th birthday and Bob's 38th birthday, while Alice is only 18 years and 10 days old." ] }, { "cell_type": "markdown", "id": "ea3386c1", "metadata": {}, "source": [ "## Plotting\n", "\n", "We can plot worldlines with [Matplotlib](https://matplotlib.org/). Obtaining plottable data from worldlines is easy, with `Worldline.plot()`. If you're not familiar with Matplotlib, don't worry about understanding how it works right now. There are [tutorials](https://matplotlib.org/stable/tutorials/introductory/quick_start.html) for it, which you can check out later." ] }, { "cell_type": "code", "execution_count": 7, "id": "d95c1997", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", "def plot_worldline(ax, w, label):\n", " out = ax.plot(*w.plot(), label=label, marker='.')\n", " ax.set_xlabel('x-axis')\n", " ax.set_ylabel('t-axis')\n", " ax.legend(loc='center left', bbox_to_anchor=(1, 0.5))\n", " return out" ] }, { "cell_type": "code", "execution_count": 8, "id": "4a49020f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 22.0)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(4, 4))\n", "\n", "plot_worldline(ax, alice_0, \"Alice\")\n", "plot_worldline(ax, bob_0, \"Bob\")\n", "\n", "ax.set_xlim(-7, 15)\n", "ax.set_ylim(0, 22)" ] }, { "cell_type": "markdown", "id": "ca6aed34", "metadata": {}, "source": [ "## Velocity along a worldline\n", "\n", "Another thing we can do with these worldlines is calculate the velocity of Alice and Bob at different points in time with `Worldline.eval_vel_s()`. What is Alice's velocity at, say time `t = 5`? This is during the first leg of her journey, so we'd expect the velocity to be positive, since she is moving in the positive x-direction. As for the magnitude, each leg is 10 lightyears long and takes 10.1 years, so we'd expect it to be `distance / time = 10 / 10.1`, which is:" ] }, { "cell_type": "code", "execution_count": 9, "id": "9eb4c93f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9900990099009901" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "10 / 10.1" ] }, { "cell_type": "markdown", "id": "aabec15f", "metadata": {}, "source": [ "Let's see what SpacetimeLib gives." ] }, { "cell_type": "code", "execution_count": 10, "id": "cf93f65e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.99009901])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "first_leg_vel_0 = alice_0.eval_vel_s(5)\n", "first_leg_vel_0" ] }, { "cell_type": "markdown", "id": "96bc1cf0", "metadata": {}, "source": [ "That's what we expected. What about the other leg? Let's check `t = 15`." ] }, { "cell_type": "code", "execution_count": 11, "id": "853899a7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([-0.99009901])" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "second_leg_vel_0 = alice_0.eval_vel_s(15)\n", "second_leg_vel_0" ] }, { "cell_type": "markdown", "id": "b9143f6c", "metadata": {}, "source": [ "The magnitude is the same, but the direction is opposite, since this is during the second leg and Alice is traveling back to Earth." ] }, { "cell_type": "markdown", "id": "3e3b2221", "metadata": {}, "source": [ "## Viewing from a different reference frame\n", "\n", "Currently, we've only been viewing Alice and Bob's worldlines from Bob's reference frame. But we can apply a [Lorentz transformation](https://en.wikipedia.org/wiki/Lorentz_transformation) to view the same worldlines from a different reference frame that is moving at a different velocity relative to the original reference frame. This process is called \"boosting\", and we can use `Worldline.boost()` to do it.\n", "\n", "Let's view the worldlines from Alice's perspective during the first leg of her trip." ] }, { "cell_type": "code", "execution_count": 12, "id": "7a7bcb9d", "metadata": {}, "outputs": [], "source": [ "alice_1 = alice_0.boost(first_leg_vel_0)\n", "bob_1 = bob_0.boost(first_leg_vel_0)" ] }, { "cell_type": "markdown", "id": "d4835e93", "metadata": {}, "source": [ "I named these variables with `_1` to refer to Alice's reference frame during the first leg of her journey. Let's plot these boosted worldlines." ] }, { "cell_type": "code", "execution_count": 13, "id": "e6026b75", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.0, 10.0)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdMAAAF4CAYAAAAPJROAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/OQEPoAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA4hUlEQVR4nO3de3zO9f/H8cfnunbENsxxNSzNIcMcR8ohRElROZNTU30dU4pKUknpgCjnnM/llKQkdGDMMYcQJctZss1pY7t+f1yM/dhsrm2fz7bn/XbbzXV9tuva61K36+H9ua7r8zEcDocDERERuWM2swcQERHJ7hRTERERFymmIiIiLlJMRUREXKSYioiIuEgxFRERcZFiKiIi4iLFVERExEWKqYiIiIsUUxEREReZGtOffvqJ5s2bExAQgGEYLFmyJNn3HQ4Hb775JsWLF8fb25tGjRrxxx9/mDOsiIhICkyN6fnz56lcuTKfffbZLb8/YsQIPv30U8aPH8/GjRvJmzcvTZo04dKlS1k8qYiISMoMqxzo3jAMFi9eTIsWLQDnqjQgIICXXnqJl19+GYDo6GiKFi3KtGnTaNu2rYnTioiIXOdm9gAp+euvvzh+/DiNGjVK2ubn50dYWBgbNmxIMaZxcXHExcUlXU9MTOTMmTP4+/tjGEamzy0iktkcDgexsbEEBARgs+mtL1Zg2ZgeP34cgKJFiybbXrRo0aTv3crw4cMZOnRops4mImIFUVFR3H333WaPIVg4pndq0KBB9O/fP+l6dHQ0JUqUICoqCl9fXxMnExHJGDExMQQGBuLj42P2KHKVZWNarFgxAE6cOEHx4sWTtp84cYLQ0NAUb+fp6Ymnp+dN2319fRVTEclR9NKVdVh2Z3tQUBDFihVj9erVSdtiYmLYuHEjtWvXNnEyERGR5ExdmZ47d44DBw4kXf/rr7/Yvn07BQsWpESJEvTr1493332X4OBggoKCGDx4MAEBAUnv+BUREbECU2O6efNmGjRokHT92mudnTt3Ztq0abzyyiucP3+eHj16cPbsWR544AFWrlyJl5eXWSOLiIjcxDKfM80sMTEx+Pn5ER0drddMRSRH0POa9Vj2NVMREZHsQjEVERFxkWIqIiLiIsVURETERYqpiIiIixRTERERFymmIiIiLlJMRUREXKSYioiIuEgxFRERcZFiKiIi4iLFVERExEWKqYiIiIsUUxERERcppiIiIi5STEVERFykmIqIiLhIMRUREXGRYioiIuIixVRERMRFiqmIiIiLFFMREREXKaYiIiIuUkxFRERcpJiKiIi4SDEVERFxkWIqIiLiIsVURETERYqpiIiIixRTERERFymmIiIiLlJMRUREXKSYioiIuEgxFRERcZFiKiIi4iLFVERExEWKqYiIiIsUUxERERcppiIiIi5STEVERFykmIqIiLhIMRUREXGRYioiIuIixVRERMRFiqmIiIiLFFMREREXKaYiIiIuUkxFRERcpJiKiIi4SDEVERFxkWIqIiLiIkvHNCEhgcGDBxMUFIS3tzelS5fmnXfeweFwmD2aiIhIEjezB0jNBx98wLhx45g+fToVKlRg8+bNdO3aFT8/P/r06WP2eCIiIoDFY7p+/XqeeOIJmjVrBkCpUqWYO3cumzZtSvE2cXFxxMXFJV2PiYnJ9DlFRCR3s/Ru3vvvv5/Vq1ezf/9+AHbs2MEvv/zCI488kuJthg8fjp+fX9JXYGBgVo0rIiK5lOGw8AuQiYmJvPbaa4wYMQK73U5CQgLDhg1j0KBBKd7mVivTwMBAoqOj8fX1zYqxRUQyVUxMDH5+fnpesxBL7+ZdsGABs2fPZs6cOVSoUIHt27fTr18/AgIC6Ny58y1v4+npiaenZxZPKiIiuZmlYzpgwAAGDhxI27ZtAahYsSJ///03w4cPTzGmIiIiWc3Sr5leuHABmy35iHa7ncTERJMmEhERuZmlV6bNmzdn2LBhlChRggoVKrBt2zY++eQTunXrZvZoIiIiSSz9BqTY2FgGDx7M4sWLOXnyJAEBAbRr144333wTDw+PNN2HXqgXkZxGz2vWY+mYZgT9TyciOY2e16zH0q+ZioiIZAeKqYiIiIsUUxERERcppiIiIi5STEVERFykmIqIiLhIMRUREXGRYioiIuIixVRERMRFiqmIiIiLFFMREREXKaYiIiIuUkxFRERcpJiKiIi4SDEVERFxkWIqIiLiIsVURETERYqpiIiIixRTERERFymmIiIiLlJMRUREXKSYioiIuEgxFRERcZFiKiIi4iLFVERExEWKqYiIiIsUUxERERcppiIiIi5STEVERFykmIqIiLhIMRUREXGRYioiIuIixVRERMRFiqmIiIiLFFMREREXKaYiIiIuUkxFRERc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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(4, 4))\n", "\n", "plot_worldline(ax, alice_1, \"Alice\")\n", "plot_worldline(ax, bob_1, \"Bob\")\n", "\n", "ax.set_xlim(-5, 5)\n", "ax.set_ylim(0, 10)" ] }, { "cell_type": "code", "execution_count": null, "id": "534e8c47", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" } }, "nbformat": 4, "nbformat_minor": 5 }